/**
 * @author Q
 * @create 2025-06-15-12:47
 */

/**
 *10.SpringBoot统一功能管理
 *      1.拦截器
 *      2.统一返回数据格式
 */
public class Test {
    public static void main(String[] args) {
        /**
         * 2.统一返回数据格式
         *      1.快速入门
         *          统⼀的数据返回格式使⽤ @ControllerAdvice 和 ResponseBodyAdvice 的⽅式实现
         *          @ControllerAdvice 表⽰控制器通知类
         *          添加类 ResponseAdvice , 实现 ResponseBodyAdvice 接⼝, 并在类上添加
         *          @ControllerAdvice 注解
         *      2.优点
         *          1. ⽅便前端程序员更好的接收和解析后端数据接⼝返回的数据
         *          2. 降低前端程序员和后端程序员的沟通成本, 按照某个格式实现就可以了, 因为所有接⼝都是这样返回的.
         *          3. 有利于项⽬统⼀数据的维护和修改.
         *          4. 有利于后端技术部⻔的统⼀规范的标准制定, 不会出现稀奇古怪的返回内容.
         */
    }
    public static void main1(String[] args) {
        /**
         * 1.拦截器
         *      1.拦截器快速入门
         *          1.定义：主要用来拦截用户的请求，在指定方法前后，根据业务需求执行指定的代码
         *          2.基本使用
         *              1.定义拦截器
         *              2.注册配置拦截器
         *      2.拦截器详解
         *          1.拦截路径
         *              1./**拦截所有流程
         *              2./*一级路径
         *              3./book/*,book下的一级路径
         *              4./book/**,book下的所有路径
         *          2.拦截器执行流程
         *              1.添加拦截器，执行Controller方法之前执行preHandle()方法（如果设置了该方法）
         *              2.执行完Controller方法之后，执行postHandle()方法（如果设置了该方法）
         *       3.登录校验（例子）
         *          1.定义拦截器
         *          2.注册配置拦截器
         *       4.DispatcherServlet源码解析
         *          1.初始化
         *          2.处理请求
         *          3.适配器模式（包装类模式）
         *              1.定义：将一个类接口，转化为客户期望的另一个接口，使不兼容的接口之间合作无间
         *              2.适配器模式角色
         *                  Target:目标接口，客户直接使用的接口
         *                  Adaptee:适配者，与Target不兼容
         *                  Adapter:适配器类（通过继承/引用，将适配者转为目标接口）
         *                  client:需要使用适配器的对象
         *              3.场景
         *                  弥补接口不兼容的情况
         */
    }

}
